在Java中对字符串的操作可以说是最常用的,在对字符串的操作中有三种拼接字符串的方法,下面我们来看看这三种方式有何不同,在什么时候用比较合适。
一、从耗时角度看
先来看一段代码:
package com.codeing.snail.test;
public class StringFormat {
private static long startPointTime;
public static void main(String[] args) {
String s1 = "小明";
String s2 = "和";
String s3 = "小强";
String s4 = "一起LOL";
startPointTime = System.currentTimeMillis();
strFormat2(s1, s2);
printTimeAndClear();
strFormat1();
printTimeAndClear();
strFormat3(s1, s2, s3, s4);
printTimeAndClear();
}
private static String strFormat3(String s1, String s2, String s3, String s4) {
StringBuilder sb = new StringBuilder();
sb.append(s1);
sb.append(s2);
sb.append(s3);
sb.append(s4);
return sb.toString();
}
private static String strFormat2(String s1, String s2) {
return s1 + "和" + s2 + "一起LOL";
}
private static String strFormat1() {
return String.format("%s和%s一起LOL", new String[]{ "小明", "小强"});
}
private static void printTimeAndClear() {
System.out.println(System.currentTimeMillis() - startPointTime);
startPointTime = System.currentTimeMillis();
}
}
输出结果:
从上面的结果我们可以看出,在拼接字符串的时候使用format方式比较耗时